/*
    该文件专门用于创建整个应用的路由器, 命名为index.js，vue底层对其进行了优化，引入路由时，不用精确到相关js文件
    如, 名为为router.js则引入时 -- import router from './router/router.js'
    反之，命名为index.js 则为 -- import router from './router'
 */
import VueRouter from "vue-router";
// 引入组件
// 地图
import SeismLogin from "@/components/SeismLogin.vue";
import SeismIndex from "@/components/SeismIndex.vue";

// 可视化大屏
import VisualIargeScreen from  "@/views/visualIargeScreen/VisualIargeScreen.vue"
// 机器学习
import MachineLearning from "@/views/machineLearning/MachineLearning.vue"
// 数据管理
import DataManagement from "@/views/dataMan/DataManagement.vue"



const routes  = [
    {
        //这里需要将根目录默认为Home，方便实现用户在保持登录 状态下再次登录时直接跳转至主页面
        path:"/",
        redirect:{
            name:"SeismIndex"
        }
    },
    {
        path: "/index",
        name: "SeismIndex",
        component: SeismIndex,
        children:[ // 二级路由
            // 可视化大屏
            {
                path: 'one',
                component: VisualIargeScreen
            },
            // 机器学习
            {
                path: 'map',
                component: MachineLearning
            },
            // 数据管理
            {
                path: 'three',
                component: DataManagement
            }
        ]
    },
    {
        path: "/login",
        name: "SeismLogin",
        component: SeismLogin

    },
    {
        path: "/register",
        name: "SeismRegister",
        component: () =>
            import("../components/SeismRegister.vue")
    },
];
const router = new VueRouter({
    mode:'history',
    routes
});

router.beforeEach((to,from,next)=> {
    //登录及注册页面可以直接进入,而主页面需要分情况
    if(to.path === '/login') {
        next();
    } else if(to.path === '/register') {
        next();
    }
    else {
        //从登录页面可以直接通过登录进入主页面
        if(from.path === "/login"){
            next();
        } else{
            //从/进入,如果登录状态是true，则直接next进入主页面
            if(sessionStorage.s === "true") {
                next();
                console.log(sessionStorage['s'])
            } else {//如果登录状态是false，那么跳转至登录页面,需要登录才能进入主页面
                next('/login');
            }
        }
    }
})

export default router;  // 暴露一个路由器
